<?php
namespace app\index\controller;
use phpmailer\phpmailer;
use think\Controller;
use think\Cookie;
use think\Db;
use think\Request;
use think\model;
use think\Captcha;
session_start();
class Login extends  Controller{
  public function index(){
      return view("Index/login");
  }
    public function login(){
        $phone = $_POST["phone"];
        $password = MD5($_POST["password"]);
        $data = db("park_user")->where(["phone" => $phone,"password" => $password])->find();
        if($data){
            setcookie("username",$data['username'],time()+86400,"/");
            Cookie::set("id",$data['id']);//用户ID
//            return true;
//            $dates = db('park_user')->where("phone=$phone")->select();
//            setcookie('username',$data["username"]);

            $this->redirect("Index/index");

        }else{
//            return false;
            echo 0;
        }
    }
    public function register(){
        $phone = $_POST['phone'];
//        $username=$_POST['username'];
        $data = array(
            'username'=>$_POST['name'],
            'password'=>md5($_POST['password']),
            'phone'   =>$_POST['phone'],
            'mail'    =>$_POST['mail']
        );
        if(isset($_COOKIE['phone_id'])){
            $datas = db("park_user")->where("phone",$phone)->select();
            if(count($datas)==1) {//如果用户用手机注册过账号
//                dump($datas);
                db("park_user")->where("phone",$phone)->delete();//删除该条电话号码
                $result = db("park_user")->where("id",$_COOKIE['phone_id'])->update($data);//把用户输入的电话号码及密码添加到用户微信信息字段中
                if($result){
//                    setcookie("username",$phone,time()+86400,"/");
//                    setcookie("name",$username,time()+86400,"/");
                    $this->redirect("Index/login");
//                    return 2;
                }else{
                    echo 0;
                }
            }else{
                $result = db("park_user")->where("id",$_COOKIE['phone_id'])->update($data);//把该手机。密码存储到微信信息中
                if($result){
                    setcookie("username",$phone,time()+86400,"/");
//                    setcookie("name",$username,time()+86400,"/");
//
                    $this->redirect("Index/login");
                }else{
//                    return 3;
                    echo 0;
                }
            }
        }else{
            $sql = db("park_user")->insert($data);//直接注册
            if($sql){
                setcookie("username",$phone,time()+86400,"/");
//                setcookie("name",$username,time()+86400,"/");
//                return 1;
                $this->redirect("Index/login");
            }else{
                return 0;
            }
        }
//        return view("index/register");
    }
    public function yzm()
    {
//        var_dump($_POST);
        $user="C50120497";
        $password="82ab78e78e47ea3b28b5e437704450a3";
        $phone=$_POST["phone"];
        $yzm=null;
        for($cc=0;$cc<=4;$cc++){
            $yzm.=rand(0,9);
        }
        $url="http://106.ihuyi.com/webservice/sms.php?method=Submit&account="
            .$user."&password=".
            $password."&mobile=".
            $phone."&content=您的验证码是：".
            $yzm."。请不要把验证码泄露给其他人。";
          file_get_contents($url);

       header("location:$url");
        return  $yzm;
    }
    public function forgot(){
        return view("Index/forget");
    }
    public function show(){
        $name = $_POST["phone"];
//        dump($name);
        $date = Db::table("park_user")->where("mail=$name")->field("mail")->find();
        if($date){
            $yzm="";
            for($aa=0;$aa<4;$aa++){
                $yzm.=rand(0,9);
            }
            return    $this->email($yzm);
        }else{
            return false;
        }
//        dump($date);


    }
    public function email($yzm){

        $toemail = '2119576231@qq.com';//定义收件人的邮箱

        $mail = new PHPMailer();

        $mail->isSMTP();// 使用SMTP服务
        $mail->CharSet = "utf8";// 编码格式为utf8，不设置编码的话，中文会出现乱码
        $mail->Host = "smtp.163.com";// 发送方的SMTP服务器地址
        $mail->SMTPAuth = true;// 是否使用身份验证
        $mail->Username = "13689650044@163.com";//</span><span style="color:#ff6666;">// 发送方的163邮箱用户名，就是你申请163的SMTP服务使用的163邮箱</span><span style="color:#333333;">
            $mail->Password = "19981020feng";//</span><span style="color:#ff6666;">// 发送方的邮箱密码，注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码！</span><span style="color:#333333;">
            $mail->SMTPSecure = "ssl";//</span><span style="color:#ff6666;">// 使用ssl协议方式</span><span style="color:#333333;">
            $mail->Port = 994;// 163邮箱的ssl协议方式端口号是465/994

            $mail->setFrom("13689650044@163.com","Mailer");// 设置发件人信息，如邮件格式说明中的发件人，这里会显示为Mailer(xxxx@163.com），Mailer是当做名字显示
            $mail->addAddress($toemail,'Wang');// 设置收件人信息，如邮件格式说明中的收件人，这里会显示为Liang(yyyy@163.com)
            $mail->addReplyTo("13689650044@163.com","Reply");// 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
            //$mail->addCC("xxx@163.com");// 设置邮件抄送人，可以只写地址，上述的设置也可以只写地址(这个人也能收到邮件)
            //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件)
            //$mail->addAttachment("bug0.jpg");// 添加附件


            $mail->Subject = "这是一个测试邮件";// 邮件标题
            $mail->Body = "邮件内容是 <b>您的验证码是：$yzm</b>，哈哈哈去你的！";// 邮件正文
            //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容，如果不支持Html方式，就会用到这个，基本无用

            if(!$mail->send()){// 发送邮件
//                echo "Message could not be sent.";
//                echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
                 echo json_encode(["state"=>"false"]) ;
            }else{
//                echo '发送成功';
//                echo "发送成功: ";
                echo json_encode(["state"=>"true","yzm"=>$yzm]) ;
            }
    }
    public function newpas(){//找回密码
        $pass = md5($_POST["newpas"]);
                if(Db::table("park_user")->where("mail=".$_POST["phone"])->update(["password"=>$pass])){
                    return true;
                }else{
                    return false;
                }

    }

}